iT邦幫忙

2024 iThome 鐵人賽

DAY 24
0
Security

腳本小子的滲透測試學習筆記系列 第 24

第24天:CEH第十一章會話劫持

  • 分享至 

  • xImage
  •  

什麼是會話劫持(Session Hijacking)?

  • 會話劫持 是指攻擊者接管兩台電腦之間有效的 TCP 通信會話 的攻擊行為。
  • 由於大多數的身份驗證僅在 TCP 會話的開始階段進行,這使得攻擊者能夠利用該點來進入系統。
  • 攻擊者可以窺探已建立的 TCP 會話的所有流量,並進行 身份竊取信息竊取欺詐 等行為。
  • 攻擊者通過竊取有效的會話 ID,並使用它來向伺服器進行身份驗證。

會話劫持的運作方式:

會話劫持是一種攻擊,攻擊者在兩台電腦之間有效的 TCP 通信會話期間接管了會話。由於大多數身份驗證僅在 TCP 會話開始時進行,因此攻擊者可以利用這一漏洞,在會話進行時進入系統。攻擊者能夠窺探會話中的所有流量,進行身份和信息的竊取、欺詐等惡意活動。

攻擊者利用會話標識符生成機制或標識符的安全控制,竊取有效的會話 ID,並使用該 ID 假冒合法用戶與伺服器進行通信。伺服器會錯誤地認為攻擊者是經過身份驗證的合法用戶,並響應其請求。

可能的攻擊方式:

  • 中間人攻擊(MITM):攻擊者將自己插入合法客戶端與伺服器之間,竊取數據,並能夠修改通信的內容。
  • 拒絕服務攻擊(DoS):攻擊者可中斷會話,發動 DDoS 攻擊。

總結:

會話劫持利用 TCP 會話中的漏洞,攻擊者能夠竊取會話 ID,假冒合法用戶,竊取敏感信息或發動進一步的攻擊。


為什麼會話劫持(Session Hijacking)能夠成功?

  1. 缺乏對無效會話 ID 的帳戶鎖定機制
    • 對無效的會話 ID 沒有實施鎖定策略,使攻擊者能夠進行多次嘗試來獲取合法的會話 ID。
  2. 無限的會話超時時間
    • 會話持續時間設置為無限,導致會話持續有效,攻擊者可以利用這一點長時間保持會話連接。
  3. 弱會話 ID 生成演算法或使用小範圍的會話 ID
    • 會話 ID 生成演算法過於簡單,或者會話 ID 的範圍太小,容易被暴力破解。
  4. 大多數使用 TCP/IP 的電腦都存在漏洞
    • 使用 TCP/IP 協議的大多數電腦都存在安全漏洞,容易受到會話劫持攻擊。
  5. 不安全的會話 ID 處理方式
    • 會話 ID 的處理方式不安全,例如未加密傳輸,容易被攻擊者竊取。
  6. 大多數對策在未使用加密的情況下無效
    • 如果未使用加密技術來保護會話,大多數防禦對策將失去其有效性,攻擊者可以輕易截獲和篡改會話信息。

會話劫持(Session Hijacking)的類型

  1. Passive(被動)
    • 在被動攻擊中,攻擊者劫持(hijacks)一個會話,但只會旁觀、監控並記錄該會話中的所有流量,而不進行任何干預。
  2. Active(主動)
    • 在主動攻擊中,攻擊者尋找到一個正在進行的有效會話(active session),並進行接管和控制。

OSI 模型中的會話劫持(Session Hijacking)

會話劫持在 OSI 模型中可分為兩個層級:網路層級(Network-Level)和應用層級(Application-Level)

1. 網路層級劫持(Network-Level Hijacking)

  • 網路層級劫持是指在 TCP/UDP 會話期間,攔截客戶端和伺服器之間傳輸的封包(interception of packets)。
  • 成功的攻擊可以讓攻擊者獲取關鍵資訊,進而用於攻擊應用層級的會話。
  • 攻擊者通常會選擇進行網路層級劫持,因為他們不需要針對每一個網頁應用進行修改。
  • 這種類型的劫持著重於協議在所有網頁應用中共享的資料流(data flow)的攔截與控制。

2. 應用層級劫持(Application-Level Hijacking)

  • 應用層級劫持則是指攻擊者通過獲取會話 ID(session IDs)來控制超文本傳輸協議(HTTP)的使用者會話(user session)。
  • 當攻擊者獲取到會話 ID 時,便可接管現有的會話,並建立新的未經授權的會話,進行資料竊取。
  • 通常,網路層級和應用層級劫持會一起發生,具體取決於被攻擊的系統類型。

Spoofing 攻擊 vs. 劫持攻擊

Spoofing 攻擊

  • 攻擊者假冒成另一個使用者或機器(通常是受害者)來取得訪問權限。
  • 攻擊者不會接管現有的活動會話,而是利用受害者被竊取的認證資料(stolen credentials)來啟動一個新的會話。
  • 這種類型的攻擊重點在於偽裝成受害者進行未授權的存取。

劫持攻擊(Hijacking)

  • 劫持攻擊是指攻擊者取得現有活動會話(existing active session)的控制權。
  • 攻擊者依賴於合法使用者來建立連線並進行身份驗證。
  • 當受害者 James 登錄伺服器並建立連線後,攻擊者 John 通過預測連線序列(sequence)或竊取 James 的會話 ID 來劫持這個會話並獲得控制權。

劫持攻擊和 Spoofing 攻擊的主要區別在於:

  • Spoofing 攻擊是偽裝身份來啟動新會話,而劫持攻擊則是搶奪現有的活動會話。

上一篇
第23天:CEH第十章阻斷服務攻擊
下一篇
第25天:CEH第十二章IDS, IPS, 防火牆跟蜜罐
系列文
腳本小子的滲透測試學習筆記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言